package src.Business.BaseDataADT;

import src.Business.Enums.ReportType;
import src.Control.DatabaseBrokers.SQLManager;


/**
 * @author 602705
 * An abstract class that all Report types in the system will inherit. It includes all 
 * of the basic functionality that a report in our system will need. 
 */
public abstract class Report
{
	SQLManager 		manager=null;
	Report 			report=null;
	
	/**
	 * @return - a Report object.
	 * Generates a report based off of the ReportType and returns it.
	 */
	public abstract Report generateReport();
	
	
	/**
	 * @return - a Report object.
	 * Returns the report stored in the instance of this class.
	 */
	public abstract Report getReport();
	
	/**
	 * @return - a ReportType object.
	 * Returns a ReportType that will define what type of report will be generated.
	 */
	public abstract ReportType getReportType();
}
